大家都在討論 Linux,甚至會把 Linux 當作是一個公司發行的商品畫上等號,其實這部份是有區別的,我們要分為 2 個部份來看,一個是作業系統核心,另一個則是發行版。
作業系統核心是做為應用程式與硬體操作的重要橋梁,在開放原始碼的世界中 Linux 就是扮演了這個角色。Linux 本身的主要網站為 https://www.kernel.org ,透過這個網站任何人都可以取得其原始碼。
| 作業系統核心、函式庫與應用程式 | 
|---|
|  | 
Linux 是一個自由、開放原始碼的作業系統,由 Linus Torvalds 在 1991 年所開發。Linux 的核心是管理硬體資源的配置,使得應用程式可以操作硬體資源,然而它並不是一個完整的作業系統,而是由核心、系統函式庫和工具程式所組成的整合成果。
舉個例子來說,當一個應用程式需要存取硬碟裡的資料時,它並不會直接存取硬碟,而是透過系統函式告訴作業系統核心需要哪些資料,然後作業系統核心再從硬碟中取得資料給應用程式使用。這樣的作業流程就像是一座橋樑,連接了應用程式和硬體。
然而,Linux 只是作業系統中的核心,還不足以成為一個完整的作業系統。因此,Linux 提供了系統函式庫和工具程式,讓應用程式可以使用,整合後就可以成為一個完整的作業系統。
以下是關於 Linux 的幾個重點:
開放原始碼
Linux 以 GPL 授權發布,任何人都可以自由地使用、複製、分發和修改其原始碼,這使得 Linux 具有高度彈性與可定制性。
由於使用了 GPL 的授權,讓整個資訊產業得以充分發展,也讓 Linux 在應用更加廣泛。
多用途與跨平台
Linux 可以安裝在各種硬體上,除了平常聽到桌上型電腦、筆記型電腦、伺服器和嵌入式系統等,甚至你我使用的手機都可以使用 Linux 運行。
除此之外還可以運行多種應用程式,如網路服務、資料庫、圖形介面和多媒體應用程式等。
安全性
Linux 的安全性相當高,它具有較低的攻擊面、安全的檔案權限管理和高度可配置的安全機制等。
此外,Linux 社群不斷更新和修補漏洞,使其更能抵擋新型態的攻擊。
低成本
Linux 是一個自由的作業系統,因此不需要支付昂貴的授權費用,這使得 Linux 成為企業、政府機關和個人等的理想選擇。在硬體方面,Linux 也能夠運行在比較老舊或低價的硬體上,適合那些預算有限的使用者。
社群
Linux 由全球的志願者共同開發和維護,他們不斷創新和改進 Linux 的功能和性能,使其能夠滿足不同使用者的需求。Linux 社群非常活躍,使用者可以在許多論壇和社群中獲得支援和解決問題。
Linux 是一個自由、開放原始碼、多用途、安全性高且低成本的作業系統。由於它的開放性、彈性和可定制性,並且在不同領域都有廣泛的應用,從伺服器、桌上型電腦、筆記型電腦、智慧型手機、平板電腦、嵌入式系統等都有使用 Linux 的蹤影。Linux 社群的活躍也促進了開源 (Open Source) 軟體的發展,使得許多優秀的開源軟體能夠在 Linux 上運行。
此外,Linux 也是許多大型公司的首選作業系統,除了我們常聽到的大型產業如 Apple、AWS、Google、Facebook⋯⋯之外,還有很多數以千萬計的組織與企業都在使用。它除了被廣泛用於資料中心、雲端運算、網路伺服器和超級電腦等大型計算機系統上。Linux 能夠提供穩定、高效、可擴充和安全的環境,使得企業可以更好地管理和運營他們的 IT 資源。
然而,Linux 在資訊產業被廣泛應用並不是一夜之間而成的,它需要開發者和使用者的貢獻和支持。Linux 社群不斷進行改進和優化,使得 Linux 成為現今世界上最受歡迎的作業系統之一。
| 眾多的發行版 | 
|---|
|           | 
Linux 發行版(Distribution)是指在 Linux 作業系統核心(Kernel)的基礎上,將相關軟體套件和應用程式打包形成的產品。基於 Linux 作業系統的開放性和自由性,發行版可以依照特定的需求和使用場景進行調整和打包,例如以企業應用為主的 Red Hat Enterprise Linux,以及以桌面應用為主的 Ubuntu Linux。每個發行版都包含一系列的應用程式和系統工具,以滿足特定的用戶需求。通常,發行版的名稱和開發商都會列在產品標籤或商標上。
發行版通常包含三個主要部分:
在 Linux 生態系中,有一個非常重要的法律條款叫做 GPL License,其主要的精神在於:程式的原始碼應該要可以自由的散佈、使用,並且透過該原始碼修改而成的新成品,也必須以 GPL License 進行發佈。因此,所有的 Linux 發行版都必須遵守這個原則,公開其原始碼,讓人們可以自由地使用、複製、修改和發佈。
由於 GPL License 的開放性,任何人都可以使用 Linux 的原始碼,進行修改和打包,形成自己的 Linux 發行版。事實上,這種基於開源原始碼的開發方式,已經產生了大量的 Linux 發行版,每個發行版都有其獨特的特點和使用場景。例如,基於 CentOS Linux 修改而成的 CloudLinux,專門用於搭建 Web 服務器和虛擬主機;基於 Arch Linux 修改而成的 Manjaro Linux,提供了易用性和強大的套件管理功能,適合桌面和開發使用。除了這些廣受歡迎的發行版之外,還有許多特定用途或特定硬體平台上的發行版,如嵌入式設備上運行的 OpenWrt、適用於科學計算和數據分析的 Fedora Scientific 等。
在不同的 Linux 發行版之間,最大的區別在於包含的套件和應用程式的不同,以及相應的系統設置和管理工具。例如,Red Hat Enterprise Linux 會更注重安全性和穩定性,因此包含的應用程式和系統工具會比 Ubuntu Linux 少,但是在企業應用、安全性和伺服器應用方面表現更為優秀。相反,Ubuntu Linux 則更注重桌面應用和用戶體驗,因此包含更多的應用程式和工具,並且更易於上手和使用。
Linux 發行版是一種基於開源原始碼的操作系統,以其高度的自由性和彈性,滿足了不同用戶的不同需求和用途。它們提供了各種不同的應用程式和工具,支持多種硬體平台和場景,並且通過 GPL License 的原則,鼓勵人們自由地使用、複製、修改和發佈。
大部份剛接觸或不瞭解 Linux 的使用者會問:Linux 能做什麼事?
其實更好的題目應該是:要拿 Linux 做什麼?
每個環境或產品都有其先天限制或是應用範圍,如果您要學習作業系統、程式開發、網路或 IoT 應用,那麼 Linux 會是好的開始。若是想要玩遊戲,那麼很抱歉,能在 Linux 玩的遊戲少得可憐(希望未來能改善)。因此要拿 Linux 來完成工作目標前,要先瞭解 Linux 的特性與其操作方式。
現今已經有很多的應用是使用 Linux 達成,以終端使用者來說 Google Android 手機作業系統、網路交換器作業系統、IP 分享器作業系統、一直衍伸到飛機娛樂系統等,都被不斷的應用。
更深入一點的應用,我們都知道雲端服務,但很多雲端系統是使用 Linux 所搭載而成,著名如 Amazon AWS、Google GCP 等知名公司,都使用 Linux 發展其產品或服務。
| Linux 應用 | 
|---|
|    | 
在很多網路論壇或談話中,都想定論最好用的發行版本是哪一個,筆者認為這是沒有必要的題目。其理由如下:
因此,每一個發行版本都有其優點,而該優點也可能是另一需求的缺點,並無絕對的好或壞。
在本書中所採用的是以企業應用為目標,在企業經營中資訊技術導入不外乎幾個原則:
本書使用 Rockylinux 9 版本,該發行版本是由 Red Hat 公司的 Red Hat Enterprise Linux 的原始碼重新編譯而來,而 Rockylinux 創辦人也是 CentOS Linux 所主導,對於許多使用 CentOS Linux 的讀者來說是相對親切且習慣,本書的內容也可以通用到以 Redhat Enterprise Linux 等家族(如 Almalinux/Oracle Linux),不旦通用性大也符合企業應用。